Computer systems typically display output and user interfaces in a graphical layout with a number of windows. This display format is known as a graphical user interface, or GUI. Each window is generally rectangular and is made up of a frame that contains a view, which is typically some visual input/output interface. The frame has a title bar for the title of the window, a menu bar, and, in some cases, a tool bar. The frame functions to define the edges of the window and separates its contents from the rest of the display and other GUI elements.
The menu bar is a menu of executable actions that can be performed by the program or application represented by the window on the data contained in its view. The menu bar itself is a list of headings that, when clicked, displays a pull-down menu of executable actions grouped under the menu bar heading. Tool bars contain shortcuts to the more commonly used actions available in the menu bar in the form of graphical representations or buttons, known as icons. For example, a print command is represented by a small picture of a printer.
Development of a project on a computer system may require that the display contain a number of windows at the same time, each window with a GUI component that correlates to some aspect or part of project development, such as a project management component, a source file editor component, and a debugger control component, in the case of developing some large software product.
Integrated development environments (IDE) manage the set of graphical user-interface components that constitute a project. Frame management systems handle the arrangement of GUIs and their corresponding menus and toolbars within a frame. For example, a typical frame management system may specify the arrangement of user-interface components and views in the windows of an environment on the user's desktop; specify how and where new views appear, how configurations are saved when a window is closed or an environment (operating system) is terminated; and manage the menu items and toolbar buttons for each of the windows.
Software applications often make use of menus and toolbars to allow users to select different functions and options in a graphical user interface. Generally, menu items and tool items, which are associated with the functions and options, make up the menu bar or toolbar. Menubars and toolbars function both in MDI environments and SDI environments. In an MDI (Multiple Document Interface) environment, a single parent window contains any number of child windows. The menus and/or toolbars associated with each child window are displayed on a frame of the parent window. In an SDI (Single Document Interface) environment, new windows are spawned for each user visible process or view, and a new menu and/or toolbar is placed on the frame of each new window.
In an MDI environment, the menus and toolbars, with their associated menu and tool bar items need to be modified as different applications are opened in the child windows, and as these applications gain or lose focus, so that an appropriate set of menus and toolbars are available to the user. The enabling, disabling, and changing of the menu and toolbar options are conventionally implemented by source level programming.
The above example systems, however, are limited in their configurablity. In addition, configuration of the windows and their corresponding menus and toolbars are not automatic with the addition of components or any other manipulation of the graphical display.